Data centers typically operate a great number of servers. Currently, a centralized architecture is commonly used, where a central load balancer is used to direct connections to these servers according to load balancing algorithms designed to evenly distribute networking and computing resources. Data management is relatively straightforward since all necessary data (such as session information) is kept by the central load balancer. The centralized architecture has some performance limitations. For example, using a central load balancer can result in a single point of failure within the system, as well as create a network bottleneck.